W600(TW-01模组) AT开发初探(一.固件下载)

前言

博主本人现在大三,放寒假已经一个星期了,原本计划好的寒假学习任务也陆陆续续展开了,尽管每天睡到12点(习惯熬夜),但还是会坚持每天学习新的知识,我给自己安排学习的东西很多(未来打算走嵌入式物联网方向),因为不是专业的(本人电气工程及其自动化专业),基本是自学,需要学的东西太多了,专注一样会容易疲倦,所以我就变化着来学,也不知道这样是否合理,总之学就完事了。
这篇博客写的是有关wifi模块的,学习wifi模块的打算有一段时间了,一直腾不出时间来,放假了终于能好好捯饬捯饬了,之前参加了正点原子的新品发布会,他们送了一个W600芯片的TW-01模组,那就从这个入门学习吧,网上的资料放眼望去都是ESP8266的,不过我想应该都是差不多的,况且资料少才显得有挑战,毕竟还有官方文档可以看嘛。

W600 介绍

W600 WiFi 芯片

概述

W600_SoC芯片集成 Cortex-M3 内核,内置 Flash,集成射频收发前端 RF Transceiver,CMOS PA 功率放 大器,基带处理器/媒体访问控制,支持 SDIO、SPI、UART、GPIO、I²C、PWM、I²S、7816 等接口, 支持 多种加解密协议,如 PRNG(Pseudo random Number Generator)/ SHA1/ MD5/ RC4/ DES/ 3DES/ AES/ CRC 等。
W600是一款支持多接口、多协议的无线局域网 IEEE802.11n(1T1R)的 SoC 芯片。适用于智能家 电、智能家居、无线音视频、智能玩具、医疗监护、工业控制等物联网应用领域。

TW-01 WiFi 模组

概述

TW-01无线模块是星通智联自主研发设计的一款高性价比Wi-Fi SOC模组。该系列模块支持标准的 802.11 b/g/n 协议,内置完整的 TCP/IP 协议栈。

特性

  • 采用Cortex-M3 处理器,主频高达80MHz
  • 内置8Mbit Flash
  • 内置 288KB SRAM,用户可用超过160KB
  • 支持UART/PWM/等接口
  • 集成双工I²S控制器,支持32KHz~192KHz
  • 硬件支持多种加解密协议
  • 支持SWD 调试
  • 集成 Wi-Fi MAC/ BB/RF/PA/LNA
  • 支持HT40,wifi速率最高150Mbps
  • 支持 STA/AP/STA+AP 工作模式
  • 支持 OneShot / AirKiss 一键配网
  • 串口速率最高可达2Mbps
  • 通用AT指令可快速上手
  • 支持串口本地升级和远程固件升级(FOTA)
  • 开发环境支持keil,Eclipse

AT开发

了解完W600这款wifi芯片以及基于它的TW-01模组之后,我们就要正式开始对它的学习了,本篇博文我们讲解的是AT开发的部分,除了AT开发还有SDK开发,这两者之间有什么区别呢?
SDK方法:

优势:让系统成本最少,体积最小
劣势:新手需要一个礼拜到半个月的时间去熟悉代码的研读

AT方法:

优势:只需要知道几条AT指令即可用外部单片机实现网络通讯!开发速度快。
劣势:增加了外置CPU成本

那么对于我们新手上路,从简单的入手,了解一下AT开发是很有必要的,AT开发说简单其实也没那么容易,具体怎么操作,我们言归正传:

1.准备工作

  • 电脑:固件下载当前仅支持Windows操作系统
  • 软件:串口调试助手
  • 固件:AT兼容固件
  • 硬件:TB-01开发板 或 W600系列模组、开发板(这里我们使用的是TW-01模组)

2.TW-01模组串口通信

我们进行AT固件下载的方式是模组连接PC,然后通过串口工具下载AT固件到芯片里,那么显然的,我们的模组需要与PC进行串口通讯,但是我所使用的TW-01是个简单的模组,需要使用usb转ttl模块才能将模组连上PC,如果你有usb转ttl工具自然是方便多了,如果没有还有一个办法,就是利用你手头带串口的开发板(例如stm32)

将开发板的3.3V GND RXD TXD 分别与模组的3V3 GND RX0 TX0连接。
注:此时连接状态 WiFi模块–>单片机–>串口助手(PC),由于WiFi模块和单片机的TXD和RXD处于正接状态,单片机和WiFi模块并不通信,相当于WiFi模块直连串口助手。
连接完成后,打开串口助手,这时串口助手可以自动检测到对应的串口,复位一下模组(RST置低电平),观察到下图现象即说明通信成功。

3.固件烧录、测试

  • 按照下图操作,使用星通智联串口工具烧录、测试;
  • 点击“下载”进行固件下载,(波特率默认使用 115200 bps,支持 2Mbps!;)


    到此,如果没有意外,W600系列产品AT固件的下载调试就完成了。
    但是。。。博主本人就遇到了问题,搞了好久都解决不了,最后联系原厂工程师远程协助才把问题解决,原因是由于我手头的TW-01模组的BOOT版本太旧了,导致刷新版的固件怼不进去,问题搞明白后自然就有解决办法了:准备好新的BOOT固件,先刷新BOOT,然后再执行上述的操作,详见下图:

    全部搞定之后,就可以使用AT指令对模块进行操作啦。
    本篇完结,下一次我们讲解简单的AT指令吧!!!